// pages/home/home.js
const util = require("../../utils/util.js")

Page({

  data: {
    // 轮播图
    banners: [],
    // 热门服务
    services: [],
    // 推荐商品
    goodes: []
  },

  // 查询封面类别信息，包含封面信息
  selectCoverTypeCascade: function(this_) {
    return util.requestByPost("/gdd/xcx/selectCoverTypeCascade", {
          names: ['轮播图', '热门服务']
        }, {
          isLogin: false,
          isPrePage: false
        })
      .then(res => {
        res.map(coverType => {
          if (coverType.name.includes('轮播图')) {
            this_.data.banners = coverType.cover;
          } else if (coverType.name.includes('热门服务')) {
            this_.data.services = coverType.cover;
          }
        })
        this_.setData({
          banners: this_.data.banners,
          services: this_.data.services
        })
      });
  },

  // 查询商品信息，包含商品封面信息
  selectGoodsCascade: function(this_) {
    return util.requestByPost("/gdd/xcx/selectGoodsCascade", {
      'isActive': '0',
      'isRecommend': '0'
    }, {
      isLogin: false,
      isPrePage: false
    }).then(res => {
      this_.setData({
        goodes: res
      })
    })
  },

  // 加载数据
  loadData: function() {
    // 重置数据
    this.setData({
      banners: [],
      services: [],
      goodes: []
    })
    this.selectCoverTypeCascade(this).then(this.selectGoodsCascade(this))
  },
  
  /**
   * 页面加载时触发。一个页面只会调用一次，可以在 onLoad 的参数中获取打开当前页面路径中的参数
   */
  onLoad: function(options) {
    // 隐藏转发按钮
    wx.hideShareMenu()
    // 加载数据
    this.loadData()
  },

  /**
   * 页面初次渲染完成时触发。一个页面只会调用一次，代表页面已经准备妥当，可以和视图层进行交互 
   */
  onReady: function() {},

  /**
   * 页面显示/切入前台时触发
   */
  onShow: function() {},

  /**
   * 监听用户下拉刷新动作，iphone下拉不了
   */
  onPullDownRefresh: function() {
    this.loadData()
  },

  /**
   * 点击商品回调事件
   */
  onClickGoods: function(event) {
    const id = event.currentTarget.dataset.id
    wx.navigateTo({
      url: "/pages/mall/goods/goods?id=" + id
    })
  }

})